#import "JVPharosRootModel.h"
//#import "JVHttpRequestProtocol.h"



@interface JVPharosNetworkModel : JVPharosRootModel

@property (nonatomic, copy) NSString *url;  //URL 非动态保证（长度不超过500个字符）
@property (nonatomic, strong) NSUUID *rid;  //"request id", 请求id，随机码32位
@property (nonatomic, assign) NSInteger ng; //gzip 是否开启，0为未开启，1为开启
@property (nonatomic, copy) NSString *ct;// response 的 content-type，如果超时或者失败则可以不传
@property (nonatomic, assign) NSInteger nc; //编码，0为非直连非keep-alive，1为直连非 keep-alive，2为非直连keep-alive，3为直连keep-alive
@property (nonatomic, copy) NSString *ne;//请求目标 ip
@property (nonatomic, copy) NSString *hc;   //HTTP 返回码
@property (nonatomic, copy) NSString *bc;   //业务返回码
@property (nonatomic, assign) NSTimeInterval pt;    //完成一次请求总的耗时(ms)
@property (nonatomic, assign) int64_t qs;         //请求的包大小(byte)
@property (nonatomic, assign) int64_t ps;         //响应的包大小(byte)
@property (nonatomic, assign) NSTimeInterval dns;        //dns 耗时(ms)
@property (nonatomic, assign) NSTimeInterval tcp;        //tcp 耗时(ms)
@property (nonatomic, assign) NSTimeInterval ssl;        //ssl 耗时(ms)
@property (nonatomic, assign) NSTimeInterval rq;         //request 耗时(ms)
@property (nonatomic, assign) NSTimeInterval rp;         //response 耗时(ms)
@property (nonatomic, assign) NSTimeInterval ttfb;       //读取页面第一个字节的时间(ms)
@property (nonatomic, copy) NSString *page;
@property (nonatomic, copy) NSString *retry; //重发状态。middle/last
@property (nonatomic, assign) NSInteger retryCount; // 重发次数。1/2/3...

@property (nonatomic, strong) NSURL *url_obj;   // 请求地址

+ (JVPharosNetworkModel *)generatePharosItemModel:(id)requestModel;

@end
